<template>
  <div class="dashboard-container">
    <UploadExcel :on-success="success" />
  </div>
</template>

<script>
import moment from 'moment'
import { importEmployee } from '@/api/employee'
import UploadExcel from '@/components/uploadExcel/index.vue'
export default {
  name: 'ExcelIndex',
  components: {
    UploadExcel
  },
  methods: {
    async success({ header, results }) {
      const userRelations = {
        入职日期: 'timeOfEntry',
        手机号: 'mobile',
        姓名: 'username',
        转正日期: 'correctionTime',
        工号: 'workNumber'
      }
      const arr = []
      // results.forEach((item) => {
      //   const userInfo = {}
      //   Object.keys(item).forEach((key) => {
      //     userInfo[userRelations[key]] = item[key]
      //   })
      //   arr.push(userInfo)
      // })
      // await importEmployee(arr)
      results.forEach((item) => {
        const userInfo = {}
        Object.keys(item).forEach((key) => {
          if (
            userRelations[key] === 'timeOfEntry' ||
            userRelations[key] === 'correctionTime'
          ) {
            userInfo[userRelations[key]] = new Date(
              this.formatDate(item[key], '/')
            ) // 只有这样, 才能入库
            return
          }
          userInfo[userRelations[key]] = item[key]
        })
        arr.push(userInfo)
      })
      await importEmployee(arr)
      this.$message.success('导入员工成功')
      this.$router.back()
    },

    // excel时间格式转换
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 - 8 * 3600000)
      time.setYear(time.getFullYear() - 70)
      return moment().format('YYYY-MM-dd')
    }
  }
}
</script>

<style lang="scss" scoped>
.dashboard {
  &-container {
    margin: 30px;
  }
  &-text {
    font-size: 30px;
    line-height: 46px;
  }
}
</style>
